Description
Ship pts as an installable binary. GoReleaser config, Homebrew tap, 'go install' support, --version flag, GitHub Actions release on tag, cross-compile (darwin/linux, arm64/amd64).
Acceptance Criteria
- #1 go install works
- #2 brew install from tap works
- #3 tagged release publishes binaries
Implementation Plan
Plan (Homebrew via GoReleaser + GH Actions auto-tap; owner humdrum-tiv; binary+formula 'sportsball'; module renamed to github.com/humdrum-tiv/sportsball).
Implementation Notes
Prep done (in-repo, no GitHub actions yet):
- Renamed module github.com/kortum/pts-tui -> github.com/humdrum-tiv/sportsball (16 files); suite green.
- Added --version (main.go var version=dev + flag) โ verified ldflags injection prints 'sportsball '.
- Added LICENSE (MIT), user-facing README.md.
- Makefile now version-stamps via git describe ldflags; .gitignore covers /sportsball and /dist.
- .goreleaser.yaml (darwin/linux x amd64/arm64, archives, checksums, brews->humdrum-tiv/homebrew-tap).
- .github/workflows/release.yml (tag v* -> goreleaser) + ci.yml (vet+test).
- Validated: all 4 targets cross-compile (CGO off); YAML parses.
Remaining (needs GitHub auth, not yet done):
- Create public repos humdrum-tiv/sportsball + humdrum-tiv/homebrew-tap; set origin (replaces soft:pts-tui alias); push master.
- Add HOMEBREW_TAP_TOKEN PAT secret (write to homebrew-tap) on the sportsball repo.
- Tag v0.1.0 -> verify brew install humdrum-tiv/tap/sportsball, go install, brew test.
- Optional: run 'goreleaser check' / 'goreleaser release --snapshot --clean' locally to validate before tagging.